This invention relates to a system for controlling the performance of a robot when the robot is engaged in carrying out serialized procedures on a number of samples, e.g., on samples being prepared in a chemical laboratory.
Serialized procedures are desirable because they tend to allow optimum use of processing equipment and tend to minimize some of the inherent problems with batch processing. For example, in a well-executed serialized procedure each sample should receive identical processing, thereby eliminating variation assignable to such common variables as different inter-step waiting times or, worse, variation in substantive steps (e.g., heating, centrifugation) while the operator attends to a different batch.
Laboratory robotics seemed to provide an excellent way to automate serialization because of its ability to combine programmed computer control with a number of sequential operations of a given procedure. The use of many laboratory robotic procedures is described in "Advances in Laboratory Automation Robotics 1984" by Gerald L. Hawk and Janet R. Strimatis (1984, Zymark Corporation, Inc., Hopkinton, Mass). Some specific advantages of serialized procedures are disclosed in an article by Zenie in "Trends in Laboratory Automation" American Laboratory, pages 51-57, February 1985.
Nevertheless, many rather simple serialized procedures, when applied to a number of samples, can make very substantial demands on the computer control means of a robotic system taxing the ability of the system to meet the potential for serialization without putting excessive programming demands on the operator or, worse, leaving the operator without practical means to obtain the potential advantages one might otherwise obtain by serializing a given procedure.
In an automated system which includes one or more mechanisms which are to be controlled by a computer, and one or more objects upon which work or tasks are to be performed, there are various objectives to which a computer-directed scheduling of the mechanisms can be directed. These objectives could be, for example, to maximize the utilization of the machinery; to maximize the throughput of objects being processed; to minimize the time for a given object to be processed; to respond to an unscheduled request (an interrupt) in a short time period; etc. Many system schedulers have been developed in the past, most with objectives to maximize machine utilization and minimize response time to interrupts. The objects being processed, be they cans of tuna on a processing line, or people sitting at computer terminals, or people waiting for an elevator in a large building, will receive service when the scheduler dictates.
In the purely data systems environment, the machine i.e., the computer, is almost completely interruptible. The computer can save its "current" state at an interruption in all but the most critical moments of performing most tasks, and proceed on to some totally unrelated task, returning to the saved "current state" and the original task some time later and continuing the task from exactly where it left off. Interrupts are not honored during critical moments, causing a delay in servicing of the interrupting request. These delays become very short in highly computerized functions such as information retrieval.
However, when the computer must interact to accommodate operation of physical machinery, the interrupts are a much greater problem. In the typical robotic environment, manipulator interrupts are usually quite difficult to deal with and are generally excluded from the design of fixed automation equipment.
In sample processing wherein there are relatively long periods during which materials are being processed by a robotic manipulator, interrupts are either not possible or not desirable. This has presented problems to those wishing to schedule sequences of operations on individual samples (materials or objects) which are extremely repeatable from sample to sample to achieve a uniform sample of history, while also making the number of samples processed per unit time as high as possible without interfering with uniform sample history.
It is the problem of providing improved scheduling of computerized machine operations to which the inventor has directed his efforts.